A given host device may be configured to support multiple processes that share access to a common memory. For example, host devices may be configured to utilize operating system level virtualization techniques such as Linux containers with each such container corresponding to a different process. These and other processes of a given host device may share memory for any of a number of different reasons, such as to facilitate implementation of functionality associated with pipelining, fast inter-process communication, resource throttling and many others. The containers are typically implemented using respective Linux kernel control groups (“cgroups”). Issues can arise when generating container checkpoints in such arrangements. For example, conventional systems are often configured to generate checkpoints for individual containers on a per-container basis, which can be highly inefficient, particularly in host devices that include large numbers of running containers. The excessive amounts of resources required to generate such container checkpoints can undermine system performance in a variety of contexts such as maintenance, upgrade, scale-out and migration.